Designers and engineers alike are constantly challenged to design, build, and implement new and varied constructs to satisfy market demands. Interestingly, there lies a commonality of basic design components and engineering fundamentals among all constructs. Using these concepts, designers and engineers are capable of creating a variety of mechanisms (e.g. from a simple toy to complex robotic systems). A mechanism is generally a combination of geometric bodies that constitute a machine or part of a machine or device with moving part(s) that move in order to perform a function. Also, they may contain rigid or resistant bodies formed and connected so that they move with definite relative motions with respect to one another. However, mechanism design requires a number of complex calculations to ensure that the designed mechanism is capable of performing intended functions. These calculations can completely engross the most proficient designer and/or engineer and, if left to manual acumen is an extremely daunting task.
With the proliferation of computing technologies, computing applications have been and are being developed to assist designers and engineers to perform calculations required for the design and analysis of mechanisms. The most commonly used computing application for design is a Computer Aided Design (CAD) computing application. Generally, CAD is considered the modeling of physical systems on computers, allowing both interactive and automatic analysis of design variants, and the expression of designs in a form suitable for manufacturing. A designer or engineer using CAD is afforded the ability to create, model, and analyze desired physical systems in a computerized realm. However, the functionality offered typical CAD applications is generally directed towards the creation and manipulation of graphic representations of a desired construct and not the design of mechanisms.
A common characteristic of graphics and analysis applications is how parts, whether mechanical, electronic or of whatever kind are designed. They are typically designed in an interactive mode. That is, the part, as far as already designed, is displayed on a display device (e.g. as two-dimensional, or as perspective view) such as a CRT (cathode ray tube) or an LCD (liquid crystal display). The user enters commands via appropriate input means, preferably a computer mouse, a graphics tablet or a light pen in order to complement or modify the existing structure. When the editing process is finished, i.e., the part is defined, it may be plotted or otherwise be reproduced. Further, it is also possible to generate and communicate CAD information to an interface that can directly control a numerically controlled machine tool, in order to manufacture a physical representation of the object (e.g. a Computer Assisted Manufacturing (CAM) interface).
Typically, CAD provides a designer with tools to facilitate the drawing, rotating, scaling, or moving of a desired construct. These functions are accomplished by selecting the items to be manipulated and then entering a suitable command through a user interface such as a keyboard or mouse to apply the sought after function. In addition, some CAD applications may provide additional functionality in the form of analysis tools to assist a designer in modeling the behavior of a desired construct.
Similar to CAD, development has been made in the computing industry to provide computing applications that have the ability to perform complex modeling and analysis of created constructs (e.g. the modeling and analysis of mechanisms). These computing applications allow engineers to model mechanisms and their corresponding linkages by specifying linkage lengths and the joints between links. Once the links and joints are defined, specialized inputs are added to the model to define the input motion of the mechanism. This process has significantly reduced the time to analyze mechanisms as compared to traditional ruler and compass calculation methods.
In design, defining a mechanism's function is a crucial component of design. For example, a designer contemplating the design of a mechanism for a car trunk hood may be required to determine if the car trunk hood will behave in harmony with the rest of the car. In other words, the function of the trunk may be specified to work properly with the car. The proper function of the mechanism that opens the trunk could be defined such that the trunk hood be able to reach three positions; a closed position, an open position, and a semi open position where the trunk hood does not interfere with the body of the car. Conventionally, the designer or engineer is left with the very difficult task of figuring out how to design a trunk mechanism that will achieve the desired function of having the parts (in this case, the hood) be in the desired positions. Once the designer or engineer calculates what he or she believes may be a solution for the mechanism, he or she inputs the data into an analysis computer aided design program to test whether it will work. The general method for representing the trunk hood is to use a point in space and an angular reference to represent the angle of the trunk hood. For example the trunk hood could initially be located in 3D (X,Y,Z) space at a 0,0,0 position and be horizontal with an angle of 0 degrees. The final position could have the trunk hood a 10,10,0 position in a vertical position with an angle of 90 degrees. The solution set to this problem is infinite, but the designer or engineer is limited by his own assumptions and/or his skill, experience, time and cost to design, build, test, and then iterate until he or she finds a satisfactory solution. If additional requirements are given, such as the links of the mechanism must fit into the car body, then many of the solutions will not meet the mechanism requirements, and the designer or engineer will have a more difficult time finding solutions or may have to limit the requirements and/or modifications he or she desires to make to the mechanism. Often the designer or engineer is forced to perform an iteration process involving several design and redesign attempts to achieve a mechanism that behaves within the set of predefined parameters. Such practice demands significant time and energy from designers and/or engineers. Additionally, the engineer or designer generally has great difficulty visualizing how the trunk hood will move in 3D space between the initial, intermediate and final positions when functional requirements are defined solely by three points and angular references at those points.
Synthesis, on the other hand, is a method of designing mechanisms starting with a desired function. Therefore, solutions are found much more quickly, without such an extensive iteration process. Furthermore, by being enabled to first select desired part positions (i.e., the desired function of the mechanism) and having functional mechanism requirements data be extracted from such positions and put into the solver, the designer or engineer could actually visualize the mechanism solutions and parts in space and significantly reduce the time, cost, and other limitations involved and achieve infinite solutions for the desired mechanism.
From the foregoing it is appreciated that there exists a need for mechanism synthesis and analysis systems and methods that overcome existing practices of the prior art. It would thus be advantageous to provide systems and methods that better help define the function of the desired mechanism. Therefore, a system that could extract the functional mechanism requirements (the points in space and the angular references) from CAD data is highly desirable. By doing so, the present invention is left to extract the functional mechanism requirements directly from CAD data to achieve and display meaningfully viewable mechanism solutions based on the engineer or designer's desired function for the mechanism.